//-------------------------------------------------------------------
//	Copyright (c) 2010-2014  Zhirnov Andrey
//	This file is part of the "UX Standard Lib" project.
//	See copyright notice in "UX_STL_Ext.h".
//-------------------------------------------------------------------

#ifndef _UXS_ANDROID_KEY_CODES_H
#define _UXS_ANDROID_KEY_CODES_H

#pragma once

#include "OSAndroid.h"

#ifdef PLATFORM_ANDROID

namespace UX_STL
{
namespace _platform_
{
	
//------------------------ Android Key Codes ----------------------//

	namespace e_and_key
	{
		enum	type
		{
			_UNKNOWN		= AKEYCODE_UNKNOWN,

			// arrows
			DPAD_UP			= AKEYCODE_DPAD_UP,
			DPAD_DOWN		= AKEYCODE_DPAD_DOWN,
			DPAD_LEFT		= AKEYCODE_DPAD_LEFT,
			DPAD_RIGHT		= AKEYCODE_DPAD_RIGHT,
			DPAD_CENTER		= AKEYCODE_DPAD_CENTER,
			
			// phone
			CALL			= AKEYCODE_CALL,
			ENDCALL			= AKEYCODE_ENDCALL,
			CAMERA			= AKEYCODE_CAMERA,
			SOFT_LEFT		= AKEYCODE_SOFT_LEFT,
			SOFT_RIGHT		= AKEYCODE_SOFT_RIGHT,
			STAR			= AKEYCODE_STAR,		// * 
			POUND			= AKEYCODE_POUND,		// # 

			// numbers
			n0				= AKEYCODE_0,
			n1				= AKEYCODE_1,
			n2				= AKEYCODE_2,
			n3				= AKEYCODE_3,
			n4				= AKEYCODE_4,
			n5				= AKEYCODE_5,
			n6				= AKEYCODE_6,
			n7				= AKEYCODE_7,
			n8				= AKEYCODE_8,
			n9				= AKEYCODE_9,

			// chars
			A				= AKEYCODE_A,
			B				= AKEYCODE_B,
			C				= AKEYCODE_C,
			D				= AKEYCODE_D,
			E				= AKEYCODE_E,
			F				= AKEYCODE_F,
			G				= AKEYCODE_G,
			H				= AKEYCODE_H,
			I				= AKEYCODE_I,
			J				= AKEYCODE_J,
			K				= AKEYCODE_K,
			L				= AKEYCODE_L,
			M				= AKEYCODE_M,
			N				= AKEYCODE_N,
			O				= AKEYCODE_O,
			P				= AKEYCODE_P,
			Q				= AKEYCODE_Q,
			R				= AKEYCODE_R,
			S				= AKEYCODE_S,
			T				= AKEYCODE_T,
			U				= AKEYCODE_U,
			V				= AKEYCODE_V,
			W				= AKEYCODE_W,
			X				= AKEYCODE_X,
			Y				= AKEYCODE_Y,
			Z				= AKEYCODE_Z,

			// symbols
			COMMA			= AKEYCODE_COMMA,		// , 
			PERIOD			= AKEYCODE_PERIOD,		// . 
			TAB				= AKEYCODE_TAB,
			SPACE			= AKEYCODE_SPACE,
			GRAVE			= AKEYCODE_GRAVE,		// ` (~)
			MINUS			= AKEYCODE_MINUS,		// - 
			EQUALS			= AKEYCODE_EQUALS,		// = 
			BACKSLASH		= AKEYCODE_BACKSLASH,	// / 
			SEMICOLON		= AKEYCODE_SEMICOLON,	// ; 
			APOSTROPHE		= AKEYCODE_APOSTROPHE,	// ' 
			SLASH			= AKEYCODE_SLASH,		// \ 
			PLUS			= AKEYCODE_PLUS,		// +

			// edit
			DEL				= AKEYCODE_DEL,
			ENTER			= AKEYCODE_ENTER,

			// controls
			ALT_LEFT		= AKEYCODE_ALT_LEFT,
			ALT_RIGHT		= AKEYCODE_ALT_RIGHT,
			SHIFT_LEFT		= AKEYCODE_SHIFT_LEFT,
			SHIFT_RIGHT		= AKEYCODE_SHIFT_RIGHT,
			
			// system
			POWER			= AKEYCODE_POWER,
			CLEAR			= AKEYCODE_CLEAR,
			SYM				= AKEYCODE_SYM,
			EXPLORER		= AKEYCODE_EXPLORER,
			ENVELOPE		= AKEYCODE_ENVELOPE,
			LEFT_BRACKET	= AKEYCODE_LEFT_BRACKET,
			RIGHT_BRACKET	= AKEYCODE_RIGHT_BRACKET,
			AT				= AKEYCODE_AT,
			NUM				= AKEYCODE_NUM,
			HEADSETHOOK		= AKEYCODE_HEADSETHOOK,
			FOCUS			= AKEYCODE_FOCUS,
			MENU			= AKEYCODE_MENU,
			NOTIFICATION	= AKEYCODE_NOTIFICATION,
			SEARCH			= AKEYCODE_SEARCH,
			HOME			= AKEYCODE_HOME,
			BACK			= AKEYCODE_BACK,
			PAGE_UP			= AKEYCODE_PAGE_UP,
			PAGE_DOWN		= AKEYCODE_PAGE_DOWN,
			PICTSYMBOLS		= AKEYCODE_PICTSYMBOLS,
			SWITCH_CHARSET	= AKEYCODE_SWITCH_CHARSET,
			
			// media
			MEDIA_PLAY		= AKEYCODE_MEDIA_PLAY_PAUSE,
			MEDIA_STOP		= AKEYCODE_MEDIA_STOP,
			MEDIA_NEXT		= AKEYCODE_MEDIA_NEXT,
			MEDIA_PREVIOUS	= AKEYCODE_MEDIA_PREVIOUS,
			MEDIA_REWIND	= AKEYCODE_MEDIA_REWIND,
			MEDIA_FORWARD	= AKEYCODE_MEDIA_FAST_FORWARD,
			MEDIA_MUTE		= AKEYCODE_MUTE,

			// volume
			VOLUME_UP		= AKEYCODE_VOLUME_UP,
			VOLUME_DOWN		= AKEYCODE_VOLUME_DOWN,
			
			// unknown
			BUTTON_A		= AKEYCODE_BUTTON_A,
			BUTTON_B		= AKEYCODE_BUTTON_B,
			BUTTON_C		= AKEYCODE_BUTTON_C,
			BUTTON_X		= AKEYCODE_BUTTON_X,
			BUTTON_Y		= AKEYCODE_BUTTON_Y,
			BUTTON_Z		= AKEYCODE_BUTTON_Z,
			BUTTON_L1		= AKEYCODE_BUTTON_L1,
			BUTTON_R1		= AKEYCODE_BUTTON_R1,
			BUTTON_L2		= AKEYCODE_BUTTON_L2,
			BUTTON_R2		= AKEYCODE_BUTTON_R2,
			BUTTON_THUMBL	= AKEYCODE_BUTTON_THUMBL,
			BUTTON_THUMBR	= AKEYCODE_BUTTON_THUMBR,
			BUTTON_START	= AKEYCODE_BUTTON_START,
			BUTTON_SELECT	= AKEYCODE_BUTTON_SELECT,
			BUTTON_MODE		= AKEYCODE_BUTTON_MODE,
		};
		
		UX_ENUM_ADD_OPERATIONS( type );
	}

//-------------------------------------------------------------------

}	// _platform_
}	// UX_STL

#endif	// PLATFORM_ANDROID
#endif	// _UXS_ANDROID_KEY_CODES_H